<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>SoundManager 2 Start-up Test / Troubleshooting Tool</title>
<meta name="robots" content="noindex" />
<meta name="description" content="A standalone version of the SoundManager 2 Start-up Troubleshooting Tool." />
<meta name="keywords" content="javascript sound, javascript audio, javascript play mp3, javascript sound control, javascript video, mp3, mp4, mpeg4" />
<meta name="robots" content="all" />
<meta name="author" content="Scott Schiller" />
<meta name="copyright" content="Copyright (C) 1997 onwards Scott Schiller" />
<meta name="language" content="en-us" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="stylesheet" type="text/css" media="screen" href="../demo/index.css" /> <!-- prettier fonts etc., optional -->
<link rel="stylesheet" type="text/css" media="screen" href="debug.css" />
<!-- soundManager.useFlashBlock: related CSS -->
<link rel="stylesheet" type="text/css" href="../flashblock/flashblock.css" />
<style type="text/css">
#sm2-container {
	position:relative;
	width:auto;
	height:auto;
	max-height:200px;
	margin-top:1em;
	border:1px solid #999;
	background:#eee;
	padding:0.5em;
}
</style>
<script type="text/javascript" src="../script/soundmanager2.js"></script>
<script type="text/javascript">
soundManager.setup({
  url: '../swf/'
});
</script>

<script type="text/javascript" src="debug.js"></script>
</head>

<body>

<!-- the following markup, debug.css and debug.js are required. -->

<div style="position:relative;width:500px;margin:1em">

<p class="note">Flash options: <a href="#flash8" onclick="window.location.replace(this.href);window.location.reload()">Flash 8</a> (default), <a href="#flash9" onclick="window.location.replace(this.href);window.location.reload()">Flash 9</a> (normal) or <a href="#flash9-highperformance" onclick="window.location.replace(this.href);window.location.reload()">Flash 9 + highPerformance + fastPolling</a> modes.</p>

<div id="sm2-test">
 <ul class="items">

  <li id="d-onload" class="default">
   <h3><span class="yay">OK</span><span class="boo">FAIL</span><span class="default">N/A</span><span class="unknown">Unknown</span><span>SoundManager 2 start-up</span></h3>
   <div id="sm2-startup" class="details">
    <p>soundManager onready() or ontimeout() events are ultimately called when start-up completes.</p>
    <p>If you're seeing a failure, refer to the below for troubleshooting details for common causes.</p>
   </div>
  </li>

  <li id="d-hasflash" class="default">
   <h3><span class="yay">OK</span><span class="boo">Error</span><span class="default">N/A</span><span class="unknown">Unknown</span><span>Flash</span></h3>
   <div class="details">
    <p>Flash 8 or 9 may be required for SoundManager 2 to start, depending on HTML5 support. You are currently using <b id="d-flashversion">[unknown]</b>.</p>
   </div>
  </li>

  <li id="d-swf" class="default">
   <h3><span class="yay">OK</span><span class="boo">Error</span><span class="default">N/A</span><span class="unknown">Unknown</span><span>Flash SWF</span></h3>
   <div class="details">
    <p>SoundManager 2 must load a flash movie before initialisation can proceed. If you have errors here, check that soundManager.url is correctly defined and that the URL being loaded is correct.</p>
   <p>If the Flash movie URL is OK, Flash security or flash blockers are the likely cause. Check the section below.</p>
   </div>
  </li>

  <li id="d-flashtojs" class="default">
   <h3><span class="yay">OK</span><span class="boo">Error</span><span class="default">N/A</span><span class="unknown">Unknown</span><span>Flash -&gt; JS</span></h3>
   <div class="details">
    <p>Once the flash component of SM2 has loaded, it tries to make a call to Javascript-land. This is a common point of failure, for security reasons:</p>
    <ul>
	 <li>
		<p><b>Have a flash blocker?</b> Check that the <a href="#flashdebug">SM2 flash movie</a> (below) is loading and is not being blocked.</p>
	</li>
     <li>
	Is your browser URL at file:// or c:/path/ or otherwise not using HTTP? Flash security "whitelisting" is required to allow Flash + JS to work when offline, placing it in the "LocalTrusted" Flash security sandbox rather than "localWithFile".
	
    <div id="d-flashtojs-offline" style="padding-bottom:1em">
     <h4>Offline viewing: Adding a "trusted location" to the Flash Security Settings Panel</h4>
     <p>The Flash Player Global Security Settings Panel is a web-based control panel which allows you to configure Flash security. You will need to add the path of the SoundManager 2 project in order for it to work "offline" (ie., when viewing via file:// or c:/)</p>
     <p id="ss"><a href="#screenshots" onclick="document.getElementById('ss-box').style.display = 'block';document.getElementById('ss').style.display='none';return false">Show me how</a>: Adding a "trusted location"</p>
     <div id="ss-box" style="display:none">
	  <h4>Illustrated guide: Adding a "trusted location" in Flash</h4>
      <p>Below: Adding a location, and selecting "Browse for folder" (or directory), to whitelist the SoundManager 2 project directory for offline viewing.</p>
      <p><img src="fpgss-add-location.png" alt="Adding a location: Browse for the file or directory to whitelist" style="width:100%;_width:auto;min-width:72px;max-width:396px" /></p>
      <p><img src="fpgss-added-location.png" alt="Whitelisted location has now been added, JS + Flash will work under this path" style="width:100%;_width:auto;min-width:72px;max-width:396px" /></p>
     </div>
     <p><a href="http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager04.html" target="_blank" class="feature">Launch the Flash Security Settings Panel</a></p>
    </div>
	
	 </li>
     <li style="margin-top:0.5em">Flash blockers (FlashBlock, "click to flash" etc.) preventing flash load and start-up - need whitelisting/"allow this domain" to work smoothly. If you suspect blocking is the issue, try the <a href="../demo/flashblock/">SoundManager 2 Flashblock demo</a>.</li>
     <li style="margin-top:0.5em">Online viewing (HTTP/S): Same-domain security rules apply to HTML + Flash content by default (crossdomain.xml/allowDomain() in .AS source required to override.)</li>
    </ul>
    <p>See <a href="#flashdebug" title="SoundManager 2 flash debug output">Flash debug output</a> for more security error details.</p>

    <div id="d-flashtojs-online">
	 <h4>Online viewing: Cross-domain security restrictions</h4>
     	 <p>HTML page on domain A loading .SWF from domain B: Flash security prevents JS + Flash when a cross-domain XML permission file is not available on domain B, and/or flash movie was not compiled with allowDomain('domainA') or allowDomain('*') - note that the SWF distributed with SM2 does not use this by default; try using the cross-domain version of the SWF, or compile your own which whitelists your own domain(s).</p>

	 <h4>Flash Blockers</h4>
	 <p>Browser extensions/add-ons like "FlashBlock" and "click to flash" can prevent the .SWF from loading, and this will mean SM2 will time-out and fail waiting for a response from Flash. For development, it's best to whitelist the domain(s) or the .SWF for SM2 to allow it to work.</p>
	 <p>Have a flash blocker installed? Want to test it? Try the <a href="../../demo/flashblock">SoundManager 2 Flashblock demo</a>.</p>

    </div>

   </div>
  </li>

  <li id="d-jstoflash" class="default">
   <h3><span class="yay">OK</span><span class="boo">Error</span><span class="default">N/A</span><span class="unknown">Unknown</span><span>JS -&gt; Flash</span></h3>
   <div class="details">
    <p>At this point, Javascript attempts to respond to Flash's initial outgoing Flash -&gt; JS call, completing the test for JS/flash communication. If SM2 does not receive a response from flash, it will eventually fail.</p>
    <p>Offline viewing conditions and cross-domain security rules will prevent Flash &lt;-&gt; JS communication. See the details of Flash -&gt; JS for information.</p>
    <p><b>Special Firefox Note</b>: Some versions of Firefox (9.0 and newer?) may break JS/Flash in the file:// or offline case even when the path has been whitelisted in the Flash player security settings panel. IE, Chrome, Safari and Opera do not have this issue.</p>
   </div>   
  </li>

  <li id="d-soundtest" class="default">
   <h3><span class="yay">OK</span><span class="boo">Error</span><span class="default">N/A</span><span class="unknown">Unknown</span><span>Sound test</span></h3>
   <div class="details">
    <p>Here, a simple createSound() call is made to test SM2's actual operation. A sound should load and play provided SM2 was able to start successfully.</p>
   </div>
  </li>

 </ul>
</div>

<div class="block" style="margin-top:1em">
 <div id="soundmanager-debug" class="code">
  <!-- live debug goes here -->
 </div>
</div>

<div id="flashdebug">
 <div id="sm2-container">
  <!-- flash goes here -->
 </div>
</div>

<script type="text/javascript">
sm2DebugInit();
</script>

</div>
</body>
</html>
